Information processing apparatus, information processing method, and program

ABSTRACT

There is provided an information processing apparatus, an information processing method, and a program which can improve user-friendliness of a description screen for assembly of parts in creation of a robot. The information processing apparatus includes a control unit configured to perform display control to: separately display a plurality of parts for creation of a robot, display a line connecting joint surfaces of the respective parts, and display animation in which the respective parts are jointed in accordance with the line connecting the joint surfaces in assembly order.

TECHNICAL FIELD

The present disclosure relates to an information processing apparatus,an information processing method, and a program.

BACKGROUND ART

In related art, a toy for creating objects having various shapes byassembling a number of blocks is in widespread use. In recent years,electronic components such as a sensor, a motor, a control unit and abattery are also used in creation of a robot. The created robot iscontrolled by application installed in a control unit.

Concerning a technology of adding application to an electronic device,for example, the following Patent Literature 1 discloses a softwareinstalling method of additionally installing an additional functionmodule to application which has been already installed in the electronicdevice. Further, as the electronic device disclosed in Patent Literature1, an arbitrary device such as a host computer, a measurement device, anindustrial robot, sewing machine and an image processing apparatus,which performs predetermined operation by a program being executed by acomputer is assumed.

CITATION LIST Patent Literature

Patent Literature 1: JP 2006-146835A

DISCLOSURE OF INVENTION Technical Problem

However, when a robot is created in accordance with description, thereis a case where it is difficult only from the description and an imageof an assembled completed robot to understand, for example, howconcavities and convexities provided at respective blocks are fitted.

Therefore, the present disclosure proposes an information processingapparatus, an information processing method, and a program which canimprove user-friendliness of a description screen for assembly of partsin creation of a robot.

Solution to Problem

According to the present disclosure, there is proposed an informationprocessing apparatus including a control unit configured to performdisplay control to: separately display a plurality of parts for creationof a robot, display a line connecting joint surfaces of the respectiveparts, and display animation in which the respective parts are jointedin accordance with the line connecting the joint surfaces in assemblyorder.

According to the present disclosure, there is proposed an informationprocessing method including performing display control by a processorto: separately display a plurality of parts for creation of a robot,display a line connecting joint surfaces of the respective parts, anddisplay animation for jointing the respective parts in accordance withthe line connecting the joint surfaces in assembly order.

According to the present disclosure, there is proposed a program forcausing a computer to function as a display control unit configured to:separately display a plurality of parts for creation of a robot, displaya line connecting joint surfaces of the respective parts, and displayanimation for jointing the respective parts in accordance with the lineconnecting the joint surfaces in assembly order.

Advantageous Effects of Invention

As described above, according to the present disclosure, it is possibleto improve user-friendliness of a description screen for assembly ofparts in creation of a robot.

Note that the effects described above are not necessarily limitative.With or in the place of the above effects, there may be achieved any oneof the effects described in this specification or other effects that maybe grasped from this specification.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram explaining outline of an information processingsystem according to an embodiment of the present disclosure.

FIG. 2 is a block diagram illustrating an example of a configuration ofa client terminal according to the embodiment.

FIG. 3 is a block diagram illustrating an example of a configuration ofa server according to the embodiment.

FIG. 4 is a flowchart illustrating control processing at the clientterminal of the information processing system according to theembodiment.

FIG. 5 is a diagram illustrating an example of a menu screen accordingto the embodiment.

FIG. 6 is a diagram illustrating an example of a robot recipe searchscreen according to the embodiment.

FIG. 7 is a diagram illustrating an example of a condition selectionscreen according to the embodiment.

FIG. 8 is a diagram illustrating an example of a search result screenaccording to the embodiment.

FIG. 9 is a diagram illustrating an example of a detailed informationdisplay screen of robot recipe data according to the embodiment.

FIG. 10 is a diagram illustrating an example of a learning courseselection screen according to the embodiment.

FIG. 11 is a diagram illustrating an example of a learning course screenaccording to the embodiment.

FIG. 12 is a diagram illustrating an example of the learning coursescreen according to the embodiment.

FIG. 13 is a diagram illustrating an example of a mission screenaccording to the embodiment.

FIG. 14 is a diagram explaining each stage and missions of a learningcourse according to the embodiment.

FIG. 15 is a diagram explaining each mission according to theembodiment.

FIG. 16 is a diagram illustrating an example of a medal collectionscreen according to the embodiment.

FIG. 17 is a diagram illustrating an example of a type of a medalprovided in accordance with growth experience according to theembodiment.

FIG. 18 is a diagram illustrating an example of a medal level whichchanges in accordance with a difficulty level of experience according tothe embodiment.

FIG. 19 is a diagram illustrating an example of a free creation screenaccording to the embodiment.

FIG. 20 is a diagram illustrating an example of a program creationscreen according to the embodiment.

FIG. 21 is a diagram illustrating an example of a collection screenaccording to the embodiment.

FIG. 22 is a diagram illustrating an example of a start screen of robotassembly description according to the embodiment.

FIG. 23 is a diagram illustrating an example of an assembly descriptionscreen according to the embodiment.

FIG. 24 is a diagram explaining details of an animation progress baraccording to the embodiment.

FIG. 25 is a diagram explaining block jointing animation according tothe embodiment.

FIG. 26 is a diagram illustrating block migration time and an indicationof easing for one-time jointing according to the embodiment.

FIG. 27 is a diagram explaining another example of the jointinganimation according to the embodiment.

FIG. 28 is a diagram illustrating an example where a drawing region isdivided into a plurality of portions and displayed according to theembodiment.

FIG. 29 is a diagram explaining another type of expression of a lineconnecting joint surfaces according to the embodiment.

FIG. 30 is a diagram explaining another type of expression of the lineconnecting the joint surfaces according to the embodiment.

FIG. 31 is a diagram illustrating an example of animation across stepsaccording to the embodiment.

FIG. 32 is a diagram illustrating an example of a creation screen forassembly description according to the embodiment.

FIG. 33 is a diagram explaining block rotation operation according tothe embodiment.

FIG. 34 is a diagram explaining joint of blocks through adsorptionaccording to the embodiment.

FIG. 35 is a diagram explaining a case where a block in a previous stepis utilized in a new step according to the embodiment.

FIG. 36 is a diagram explaining a case where a plurality of blocks in aprevious step is utilized according to the embodiment.

FIG. 37 is a diagram explaining a preview mode according to theembodiment.

FIG. 38 is a diagram explaining a method for changing assembly order inthe preview mode according to the embodiment.

FIG. 39 is a diagram explaining a method for changing the assembly orderin the preview mode according to the embodiment.

FIG. 40 is a diagram explaining another method for changing the assemblyorder in the preview mode according to the embodiment.

FIG. 41 is a diagram explaining a method for changing an animation startpoint in the preview mode according to the embodiment.

FIG. 42 is a diagram explaining two-staged movement by change of theanimation start point according to the embodiment.

FIG. 43 is a diagram explaining migration time in the two-stagedmovement according to the embodiment.

MODE(S) FOR CARRYING OUT THE INVENTION

Hereinafter, (a) preferred embodiment(s) of the present disclosure willbe described in detail with reference to the appended drawings. Notethat, in this specification and the appended drawings, structuralelements that have substantially the same function and structure aredenoted with the same reference numerals, and repeated explanation ofthese structural elements is omitted.

Further, description will be provided in the following order.

1. Outline of information processing system according to embodiment ofpresent disclosure

2. Configuration

2-1. Configuration of client terminal2-2. Configuration of server3. Operation processing4. Assembly description screen5. Creation of assembly description

6. Conclusion 1. Outline of Information Processing System According toEmbodiment of Present Disclosure

Outline of an information processing system according to an embodimentof the present disclosure will be described with reference to FIG. 1. Asillustrated in FIG. 1, the information processing system according tothe present embodiment includes a client terminal 1 and a server 2. Theclient terminal 1 and the server 2 are connected to each other via anetwork 3 and transmit and receive data to and from each other. Further,the client terminal 1 can install a program in a robot 5. The robot 5 iscreated by a plurality of parts being assembled.

In the present embodiment, parts to be utilized for creation of a robot(constituting a robot) include electronic components such as a motor, asensor and a cable in addiction to a block. The block is a color blockmade up of a number of types (for example, seven types) of polytopes orspheres having concavities and convexities to be fitted to other blocks.The block may have opaque color or may have permeability. A surface ofthe block can be subjected to various kinds of processing while touch bya user is taken into account. As the electronic components to beincorporated into the robot, in addition to the above-described motor,sensor and cable, a battery, a buzzer, a speaker, a display, a controlunit, or the like, are assumed. As the sensor, for example, a touchsensor, a proximity sensor, an acceleration sensor, an angular velocitysensor, a geomagnetic sensor, an illuminance sensor, a temperaturesensor, a pressure sensor, a biosensor (which can detect biologicalinformation of a user such as a pulse, perspiration, a brain wave, asense of touch, a sense of smell and a sense of taste), a positiondetecting unit (such as a global navigation satellite system (GNSS)receiver), a camera, a microphone, or the like, are assumed.

Here, as described above, when a robot is created in accordance withdescription, there is a case where it is difficult only from thedescription and an image of an assembled completed robot to understand,for example, how concavities and convexities provided at each block arefitted.

Therefore, the present disclosure enables improvement ofuser-friendliness of a description screen for assembly of parts increation of a robot using display indicating joint of parts andanimation.

Configurations of the client terminal 1 and the server 2 included in theinformation processing system according to an embodiment of the presentdisclosure will be specifically described below with reference to thedrawings.

2. Configuration <2-1, Configuration of Client Terminal>

FIG. 2 is a block diagram illustrating an example of the configurationof the client terminal 1 according to the present embodiment. The clientterminal 1 may be a tablet terminal as illustrated in FIG. 1, or may bea smartphone, a mobile phone terminal, a notebook-size personalcomputer, a desktop personal computer, a head mounted display (HMD), orthe like. Further, as illustrated in FIG. 2, the client terminal 1includes a control unit 10, a communication unit 11, an operation inputunit 12, a camera 13, a display unit 14 and a storage unit 15.

The control unit 10 functions as an arithmetic processing unit and acontrol apparatus, and controls the whole operation within the clientterminal 1 in accordance with various kinds of programs. The controlunit 10 is realized with electronic circuits such as, for example, acentral processing unit (CPU) and a microprocessor. Further, the controlunit 10 may include a read only memory (ROM) which stores programs,operation parameters, or the like, to be used, and a random accessmemory (RAM) which temporarily stores parameters, or the like, whichchange as appropriate.

The control unit 10 according to the present embodiment performs controlto display various kinds of menu screens, a robot assembly screen, orthe like, acquired from the server 2 at the display unit 14.

The communication unit 11 is a communication module for transmitting andreceiving data to and from other apparatuses in a wired/wireless manner.The communication unit 11 performs wireless communication with externaldevices directly or via a network access point using a scheme such as,for example, wired local area network (LAN), wireless LAN, (registeredtrademark), infrared communication, Bluetooth (registered trademark) andnear field communication/non-contact communication.

The communication unit 11 according to the present embodiment is, forexample, connected to the server 2 via the network 3 to transmit andreceive data. Further, the communication unit 11 can be also connectedto the robot 5 in a wired/wireless manner to transmit and receive data.

The operation input unit 12 accepts an operation instruction from a userand outputs operation content thereof to the control unit 10. Theoperation input unit 12 may be a touch sensor, a pressure sensor or aproximity sensor which is provided integrally with the display unit 14.Alternatively, the operation input unit 12 may be a physical componentsuch as a button, a switch and a lever, which is provided separatelyfrom the display unit 14.

The camera 13 includes a lens system made up of an imaging lens, adiaphragm, a zoom lens, a focus lens, or the like, a drive system forcausing the lens system to perform focus operation and zoom operation, asolid-state imaging element array which performs photoelectricconversion on an image pickup light obtained at the lens system togenerate an image pickup signal, or the like. The solid-state imagingelement array may be realized with, for example, a charge coupled device(CCD) sensor array or a complementary metal oxide semiconductor (CMOS)sensor array.

The camera 13 according to the present embodiment, for example, acquiresa captured image by capturing an image of the robot 5 created by theuser.

The display unit 14 is a display apparatus which outputs various kindsof display screens such as a menu screen and a robot assembly screen.This display unit 14 may be a display apparatus such as, for example, aliquid crystal display (LCD) and an organic electroluminescence (EL)display.

The storage unit 15 stores programs and parameters to be used by theabove-described control unit 10 to execute each function. Further, thestorage unit 15 includes a storage apparatus including a storage medium,a recording apparatus which records data in the storage medium, areading apparatus which reads out data from the storage medium, adeleting apparatus which deletes data recorded in the storage medium, orthe like. Note that this storage unit 15 may be, for example, anon-volatile memory such as a Flash ROM (or Flash Memory), anelectrically erasable programmable read-only memory (EEPROM) and anerasable programmable ROM (EPROM), a magnetic disk such as a hard driveand a disk-shaped magnetic body disk, an optical disk such as a compactdisc (CD), a digital versatile disc recordable (DVD-R) and a Blu-RayDisc (registered trademark) (BD), and a storage medium such as a magnetooptical (MO) disk.

The configuration of the client terminal 1 according to the presentembodiment has been described above. Note that the configuration of theclient terminal 1 illustrated in FIG. 2 is an example, and the presentembodiment is not limited to this. For example, the client terminal 1may further include a microphone and a speaker.

<2-2. Configuration of Server>

FIG. 3 is a block diagram illustrating an example of the configurationof the server 2 according to the present embodiment. As illustrated inFIG. 3, the server 2 includes a control unit 20, a communication unit 21and a storage unit 22.

The control unit 20 functions as an arithmetic processing unit and acontrol apparatus and controls the whole operation within the server 2in accordance with various kinds of programs. The control unit 20 isrealized with electronic circuits such as, for example, a CPU and amicroprocessor. Further, the control unit 20 may include a ROM whichstores programs, operation parameters, or the like, to be used and a RAMwhich temporarily stores parameters, or the like, which change asappropriate.

The control unit 20 according to the present embodiment transmitsdisplay information of a menu screen to the client terminal 1 inresponse to a request from the client terminal 1 and performs each kindof predetermined processing in accordance with a menu selected by theuser from the menu screen.

The communication unit 21 is a communication module for transmitting andreceiving data to and from other apparatuses in a wired/wireless manner.The communication unit 21 according to the present embodiment isconnected to the client terminal 1 via the network 3 to transmit andreceive data.

The storage unit 22 stores programs and parameters to be used by theabove-described control unit 10 to execute each function. Further, thestorage unit 22 includes a storage apparatus including a storage medium,a recording apparatus which records data in the storage medium, areading apparatus which reads out data from the storage medium, adeleting apparatus which deletes data recorded in the storage medium, orthe like.

The storage unit 22 according to the present embodiment, for example,stores user information and robot recipe data.

The configuration of the server 2 according to the present embodimenthas been described above.

3. Operation Processing

Operation processing of the information processing system according tothe present embodiment will be described next with reference to FIG. 4.FIG. 4 is a flowchart illustrating control processing at the clientterminal 1 of the information processing system according to the presentembodiment.

As illustrated in FIG. 4, first, the client terminal 1 displays a menuscreen at the display unit 14 on the basis of the display informationreceived from the server 2 (step S103). Here, FIG. 5 illustrates anexample of the menu screen. In the illustrated menu screen 30, menuitems such as robot recipe 301, learning course 302, free creation 303and collection 304 are displayed as an example. In the “robot recipe”, anumber of robot recipes are presented so as to allow the user to freelyselect a recipe of a robot which the user desires to create. The“learning course” allows the user to learn assembly, programming,mechanisms of various kinds of electronic components, or the like,through creation of a robot. The “free creation” allows the user tofreely create a program to be installed in the robot created by theuser. The “collection” allows the user to register the robot and theprogram created by the user along with date, a title, a commemorativephoto image, or the like. Operation processing in the case where eachmenu item is selected will be described below.

Then, in the case where the “robot recipe” is selected (step S106: Yes),the client terminal 1 acquires robot recipe data from the server 2 (stepS109), and displays a robot recipe search screen (step S112). Here, FIG.6 illustrates an example of the robot recipe search screen. In theillustrated search screen 31, a number of pieces of robot recipe data311 and new creation display 312 when a new recipe is generated, aredisplayed. The robot recipe data 311 can be narrowed down using a taggedkeyword as a condition. The recipe data is searched by, for example, amagnifying glass icon illustrated in an upper right portion of thesearch screen 31 being tapped. Here, FIG. 7 illustrates an example of acondition selection screen. The illustrated condition selection screen32 is displayed when the magnifying glass icon illustrated in the upperright portion of the search screen 31 being tapped. When the userselects a condition from a plurality of keywords displayed on thecondition selection screen 32 and taps “search”, a search result ofrecipes with which the selected keyword is tagged is displayed. Forexample, in the case where “program is included” and “car” are selectedas conditions, a search result screen 33 as illustrated in FIG. 8 isdisplayed. In the illustrated search result screen 33, robot recipe datain which “program is included” and concerning “car” is displayed. Notethat the new creation display 312 may be also displayed on the searchresult screen 33.

The user taps the robot recipe data which the user desires to create andbrowses detailed information. Here, FIG. 9 illustrates an example of adetailed information display screen of the robot recipe data. In theillustrated detailed information display screen 34, information such asan image of a completed robot, a title, a creator, a difficulty leveland popularity is displayed. While not illustrated in FIG. 9, in thecase where information of parts possessed by the user is obtained, it isalso possible to display whether or not the robot can be created withthe parts possessed by the user, or, in the case where the parts areinsufficient, which parts are lacking along with the information. In thecase where the robot to be created is determined, the user taps a regionwhere “create” is displayed and makes a final decision on selection ofthe robot recipe.

Then, the client terminal 1 starts assembly description of the selectedrobot recipe (step S115) Specifically, the client terminal 1 receivesrecipe data including robot assembly information, or the like, from theserver 2 and displays an assembly description screen at the display unit14. Specific examples of the assembly description screen will bedescribed later with reference to FIG. 23 to FIG. 31.

Further, in the case where new creation of robot recipe is selected, theclient terminal 1 starts creation of new robot recipe (step S118).Detailed content of the creation of new robot recipe will be describedlater.

Meanwhile, in the case where the “learning course” is selected (stepS121: Yes), the client terminal 1 acquires learning course data from theserver 2 (step S124) and displays a learning course selection screen(step S127). Here, FIG. 10 illustrates an example of the learning courseselection screen. In the illustrated learning course selection screen35, a plurality of learning courses such as, for example, “beginnercourse B” and “course C” is presented. The user selects an arbitrarycourse.

Then, the client terminal 1 starts processing of the learning courseselected by the user (step S130). Here, FIG. 11 and FIG. 12 illustratean example of the learning course screen. As illustrated in FIG. 11 andFIG. 12, the learning course includes a plurality of stages, and displayis controlled so that, for example, a town is gradually completed as astage proceeds. If the user taps and selects an icon 361 of a stage, forexample, a mission screen 38 as illustrated in FIG. 13 is displayed. Inthe mission screen 38, a plurality of missions provided for learningcontent to be learned in the present stage in a stepwise manner ispresented. If a mission is accomplished, a check mark is displayed, andan arrow mark is displayed at a mission to be learned next. Further,missions ahead are displayed in a grayed out state.

Here, the learning course, each stage and missions according to thepresent embodiment will be described with reference to FIG. 14. Asillustrated in FIG. 14, for example, one learning course includes aplurality of stages, and the user learns a mechanism of a robot, or thelike, while creating a predetermined robot in each stage. Further, asillustrated in FIG. 14, one stage includes a plurality of missions. Eachmission is provided to make the user understand learning content of thepresent stage in a stepwise manner. For example, in mission 1,description of motion of the robot, actual assembly of the robot andcomment including review is provided. Further, in the next mission 2,description of motion of the robot, actual assembly of the robot,creation of a program which makes the robot operate and commentincluding review is provided. Each mission will be described withreference to FIG. 15. As illustrated in FIG. 15, for example, in mission1, the user learns elementary content by performing simple assembly,and, then, a difficulty level of learning is increased by making theuser dismantle part of the assembled robot and perform a little morecomplicated assembly next. Further, a difficulty level of programming(coding) is increased in accordance with increase of the difficultylevel of assembly. In this manner, in each mission, the user can grow upin a stepwise manner by difficulty levels of assembly of the robot andprogramming being gradually increased.

Note that each stage of the learning course and content and a difficultylevel of missions in the stage may be flexibly changed in accordancewith a learning level of the user. The client terminal 1 (or the server2) can judge the learning level of the user in accordance with alearning progress state of the user (such as learning time, quizzes asnecessary, learning history and robot creation experience history) andchange content or a difficulty level of the next mission or the nextstage.

Then, the client terminal 1 provides a predetermined medal in accordancewith robot creation and experience of the learning course by the user(step S133). In the present embodiment, as proof of growth, it ispossible to provide various kinds of medals as proof of growthexperience through creation of the robot recipe and each stage of thelearning course, for example, when the user has learned a new program,when the user has noticed a mechanism of an object which the user didnot know, when the user has experienced something for the first time, orwhen the user has achieved something.

As a case where the user has learned a new program, for example, a caseis assumed where the user has created a robot and learned using thefollowing programs.

Scratch language

sequential processing

repetition (loop circuit)

pulse width modulation (PWN)

acquisition of sensor values (an optical sensor, a touch sensor, aphotoreflector, an acceleration sensor)

conditional branch

usage of a test mode

control of a button

utilization of a timer, timer control

program of sound

random number and random control

write and a live mode

motor control (a DC motor, a servo motor)

execution of different kinds of control at the same time

OR

priority order

utilization of an acceleration sensor (second time, how to use XYZ axes)

variable

Further, as a case where the user has newly noticed a mechanism of anobject, for example, the following mechanisms and viewpoints areassumed.

types of lighting (fire, candescence, fluorescence, LED)

a Morse code

spread of an LED

understanding of an optical sensor

an automatic lighting apparatus

light control of RGB, produce color

LED cases

creation of melody

a switch and a button

vibration and sound, a speaker and ears

create a virtual game

bend and stretch

a difference between a DC motor and a servo motor

home electric appliances utilizing rotation

a reciprocating slider-crank mechanism

understanding of a photoreflector

a mechanism of an automatic door

care for safety

an automatic door

a mechanism of a toilet

a difference between wheels and legs

understanding of a servo motor

Here, FIG. 16 illustrates an example of a medal collection screen. Inthe illustrated medal collection screen 39, medals provided to the userare displayed. The respective medals are listed along with display ofexperience content.

Further, an example of various kinds of medals to be provided to theuser is illustrated in FIG. 17 and FIG. 18. FIG. 17 is a diagramillustrating an example of types of medals to be provided in accordancewith growth experience. As illustrated in FIG. 17, for example, a medalin which a keyword indicating growth experience is described can beprovided. FIG. 18 is a diagram illustrating an example of medal levelswhich change in accordance with a difficulty level of experience. Asillustrated in FIG. 18, medals of different colors such as bronze,silver, gold and platinum can be provided in accordance with thedifficulty level of experience.

Note that, while medals provided as proof of growth are described here,the client terminal 1 may further generate and display skill collectionfrom which content of skills which are newly acquired by the user can beconfirmed again, and newspaper collection which indicates episoderegarding the created robot in a newspaper form.

Then, in the case where the “free creation” is selected in the menuscreen 30 (step S136: Yes), the client terminal 1 displays a freecreation screen at the display unit 14 on the basis of the screendisplay information acquired from the server 2 (step S139) and startsprogram creation processing (step S142). Here, FIG. 19 illustrates anexample of the free creation screen. In the illustrated free creationscreen 40, display of “programming” for creating a program, display of“commemorative photo” for registering a photo of the created robot, andan “add to collection” button for adding the created program and thephoto of the robot as collection, are displayed.

If the display of “programming” is tapped, a program creation screen isdisplayed. Here, FIG. 20 illustrates an example of the program creationscreen. In the illustrated program creation screen 41, a display screen411 for a module which visually indicates programming language, and awork region 412 for creating a program are displayed. The user canconstruct a program by dragging and moving a module from the displayscreen 411 to the work region 412. Further, the user can arbitrarily seta numerical value within the module. Then, if the user taps a programtransfer button 413, the program constructed in the work region 412 istransmitted to the robot 5, and it is possible to make the robot 5operate.

Then, if the display of “commemorative photo” in the free creationscreen 40 in FIG. 19 is tapped, the client terminal 1 accepts uploadingof a captured image of the created robot and acquires the captured image(step S145). The captured image of the robot may be, for example,acquired by a camera of the client terminal 1.

Then, if the “add to collection” button in the free creation screen 40in FIG. 19 is tapped, the client terminal 1 registers the createdprogram and the uploaded captured image as collection of the user (stepS148). Specifically, for example, the client terminal 1 transmits thecreated program and the captured image to the server 2 and performscontrol so that the created program and the captured image are stored ascollection of the user.

Subsequently, in the case where the “collection” is selected in the menuscreen 30 (step S151: Yes), the client terminal 1 acquires collectiondata of the user from the server 2 (step S154) and displays a collectionscreen at the display unit 14 (step S157). Here, FIG. 21 illustrates anexample of the collection screen. In the illustrated collection screen42, a list of robots created by the user is displayed. Specifically, thecollection screen 42 includes display of the captured image and a titleof the created robot, and display indicating through which of thelearning course, free creation or the robot recipe, the robot iscreated.

The control processing of the client terminal 1 according to the presentembodiment has been specifically described above. Subsequently, anassembly description screen displayed at the client terminal 1 when arobot is assembled through the above-described robot recipe or learningcourse will be specifically described using FIG. 22 to FIG. 31.

4. Assembly Description Screen

FIG. 22 is a diagram illustrating an example of a start screen of robotassembly description. The illustrated start screen 43 is displayed, forexample, when a certain stage of the teaming course is selected. In thestart screen 43, description regarding content of the stage, an image ofthe completed robot, and display of “create” are displayed. If the usertaps the display of “create”, description regarding actual assembly isstarted.

FIG. 23 is a diagram illustrating an example of the assembly descriptionscreen. The illustrated assembly description screen 45 is a screendescribing assembly of parts, and includes a drawing region 451 and acaption region 458. Display and non-display of the caption region 458 iscontrolled with a caption opening/closing button.

It is possible to scale the drawing region 451 and move a viewpoint. Theuser can scale the viewpoint through, for example, pinch-in/pinch-outoperation, manipulation of a scaling control bar 460 or mouse wheelmanipulation, or can move the viewpoint centering around a base pointthrough drag and drop or touch and swipe operation. Further, it is alsopossible to move the viewpoint upward, downward, rightward and leftwardby direction buttons 461 provided above, below, on a right side and on aleft side of the drawing region 451 being depressed and move theviewpoint upward, downward, rightward or leftward through drag and dropoperation while a Shift key being depressed.

Note that the viewpoint may be automatically moved as part of assemblyanimation. For example, during jointing animation, the viewpoint may bemoved to an angle at which a concavity and a convexity of joint portionsof blocks can be seen.

Further, in the drawing region 451, an animation progress bar 456 isdisplayed. The animation progress bar 456 indicates an animation timeposition within the step when assembly of parts is described usinganimation. Here, details of the animation progress bar 456 will bedescribed with reference to FIG. 24. As illustrated in FIG. 24, a handleof the animation progress bar 456 moves in accordance with reproductionof assembly animation to indicate the animation time position on a timeaxis bar. Further, a “mark indicating a joint point of blocks” on thebar indicates an animation time position when the blocks are assembled,that is, when one block is jointed with another block. The handle can bedragged, so that the user can repeatedly reproduce joint portions ofblocks, or the like, using a mark on the bar as an indication.

Further, space setting of the drawing region 451 may be displayed in astate where blocks 452 a to 452 d to be assembled are, for example, notgrounded and float in the air. Further, in the case where a plurality ofunits of blocks to be assembled is required, the number may be clearlyindicated by displaying “x number”.

Further, as illustrated in FIG. 23, joint surfaces of the blocks arehighlighted and joint surfaces of the blocks are connected to each otherwith a line 453, a line 454 and a line 455. By this means, the user canintuitively recognize how to joint the blocks.

Block jointing animation will be described next with reference to FIG.25. First, as illustrated in an animation image 48 a in FIG. 25,animation in which the block 452 b moves along 453 which connects thejoint surfaces of the block 452 a and the block 452 b, and is jointedwith the block 452 a, is reproduced. Then, as illustrated in ananimation image 48 b, animation in which the block 452 d moves along 453which connects the joint surfaces of the block 452 a and the block 452d, and is jointed with the block 452 a, is reproduced. Subsequently, asillustrated in an animation image 48 c, animation in which the block 452c moves along 454 which connects joint surfaces of the block 452 a andthe block 452 c, and is jointed with the block 452 a, is reproduced.Then, an image 48 d of a state where assembly of the blocks is finishedis displayed. By jointing of the blocks being indicated one by one withanimation in the assembly description in this manner, the user canintuitively understand how to assemble the blocks.

In the example illustrated in FIG. 25, for example, upon start ofanimation, an interval of 0.5 sec is provided, in animation uponjointing, an interval of 1 sec is provided, and in animation betweenjointing and the next jointing, an interval of 0.5 sec is provided.Further, an interval of 1 sec is provided after the blocks areassembled. Here, FIG. 26 illustrates block migration time and anindication of easing of one-time jointing. As illustrated in FIG. 26,for example, block migration speed upon jointing does not have to beconstant speed, and migration speed may be slow upon start and upon end.It is possible to reproduce operation upon jointing which isparticularly important in slow motion with animation having varying pacein this manner.

Note that, while, in the jointing animation, a block is basically madeto move on coordinate on one of X, Y and Z, in the case where aplurality of blocks is displayed, exceptional display may be performed.Here, FIG. 27 illustrates a diagram explaining another example of thejointing animation.

As illustrated in FIG. 27, for example, when a plurality of blocks 470is jointed with a block 471, animation in which a block 470 e and ablock 470 f are jointed with the block 471 only through movement on theY axis respectively along lines 472 e and 472 f which connect jointsurfaces with the block 471 in a similar manner to that described in theabove-described example, is reproduced. Meanwhile, because a block 470a, a block 470 b, a block 470 c and a block 470 d overlap with eachother, lines 472 a to 472 d which connect respective joint surfaces ofthe block 470 cannot be vertically expressed, and are displayed while anangle is formed as illustrated in FIG. 27, and animation in which theblocks sequentially and obliquely move along the lines 472 a to 472 dand are jointed, is reproduced.

Further, the drawing region 451 may be divided into a plurality ofportions. Here, FIG. 28 illustrates an example where the drawing regionis divided into a plurality of portions. The illustrated drawing region465 is divided with, for example, a dividing line from an upper rightside to a lower left side. A ratio of division can be changed inaccordance with layout. Further, as illustrated in FIG. 28, a connectingportion can be enlarged and displayed using screen division layout.Further, when cable connection is described, cable connection may bedisplayed at an angle at which silk of a cable can be seen. Stillfurther, it is also possible to highlight a word (for example “K2”)described at a connection destination of the cable. Further, in the casewhere a viewpoint cannot be changed because 2D objects are superimposed,an icon 466 indicating that the viewpoint cannot be changed isdisplayed, and a move button and the scaling control bar are disabled.

Further, display of a line connecting the joint surfaces of the blocksis not limited to the above-described examples. For example, in the casewhere the blocks are displayed at an angle at which the joint surfacescannot be seen, because there is a case where it is difficult tounderstand to which surface the block should be jointed, the blocks maybe displayed while hidden joint surfaces are taken into account. Here,FIG. 29 and FIG. 30 illustrate diagrams explaining other types ofexpression of a line connecting the joint surfaces. As illustrated inFIG. 29, for example, in a case of animation in which a block 491 b anda block 491 c are jointed to a block 491 a, because a joint surface ofthe block 491 a to which the block 491 b is to be jointed can be seen, aline 492 which connects the joint surfaces is displayed in a similarmanner to the above-described example. Meanwhile, because a jointsurface of the block 491 a to which the block 491 c is to be jointedcannot be seen, a line 493 which connects the joint surfaces isdisplayed so as to penetrate through the block 491 a. Further, asillustrated in FIG. 30, by indicating the joint surface of the block 491a to which the block 491 c is to be jointed with a hidden line andextending a line 495 (a hidden line at a portion which is hidden by theblock 491 a) to the joint surface, it is possible to realize displaywhich can be easily understood.

Further, in the case where blocks which are being assembled aredisplayed at a different angle in the next assembly step, it is alsopossible to switch display with smooth animation from display at anangle in the previous step. Here, FIG. 31 illustrates an example ofanimation across the steps. In the illustrated example, after animationin which an angle of a block 501 assembled in the previous step isrotated is displayed in an assembly description screen 50 a, asindicated in an assembly description screen 50 b, block jointinganimation in the present step is displayed. Note that migration time andeasing in the rotation animation may be curved in a similar manner tothat in the example illustrated in FIG. 26. By this means, becauseanimation in which the assembled blocks are rotated is displayedfollowing the previous step before the blocks are suddenly displayed ata different angle across the steps, the user can intuitively understandthat orientation of the assembled blocks is changed.

The assembly description screen according to the present embodiment hasbeen specifically described above.

5. Creation of Assembly Description

Subsequently, processing when the above-described assembly descriptionis created will be described with reference to FIG. 32 to FIG. 43. Theprocessing of creating the assembly description can be executed when,for example, the new creation display 312 for generating a new robotrecipe illustrated in FIG. 6 is selected. Alternatively, the processingcan be executed using application for creating an assembly descriptionscreen.

FIG. 32 is a diagram illustrating an example of a creation screen forthe assembly description. In the illustrated creation screen 52, a blockselection region 521, a step management region 522 and a work region 523are displayed. If a block in the block selection region 521 is clicked,the selected block is lightly displayed in the work region 523, so thatthe user can confirm a shape of the block. Further, the user can movethe selected block to the work region 523 by clicking and moving ordragging and dropping the selected block as illustrated in FIG. 32.

If a cursor enters the work region 523, the selected block is displayedin a state where the block is adsorbed to the cursor. The block isdisplayed so as to be horizontal, vertical or parallel to other blocksas initial orientation of the block when the block enters the workregion 523 (adsorbed at 90 degrees). If the position is fixed byclicking, after the position is fixed, an indicating line 524 isdisplayed by the cursor being hovered as illustrated in FIG. 32. Notethat examples of a way of canceling the block adsorbed to the cursorinclude clicking a cursor icon on an upper left side of the work region523, clicking the same block again, depressing an Esc key, or the like.

After the block is disposed within the work region 523, it is possibleto rotate the block by operating the indicating line. Here, FIG. 33illustrates a diagram explaining block rotation operation. In theillustrated example, if the cursor is separated from the block 525, onlythe block is displayed, and, if the cursor is hovered over the block525, a selection frame 526 is displayed. In the case where the cursor ishovered over a plurality of jointed blocks (blocks 525 a, 525 b),selection frames 526 a and 526 b for the respective blocks are displayedin an overlapped manner.

Then, the indicating line 527 is extended from the center of the block525. Upon selection of a plurality of blocks, indicating lines areextended from the centers of the plurality of blocks. The user canrotate the block by 45 degrees each, for example, by hovering the cursor528 over a black circle portion at a tip of the indicating line andclicking the black circle portion. Further, it is also possible tofreely move the block body by dragging and dropping the block or movethe block while the X, Y and Z axes are fixed by dragging and droppingthe indicating line.

Subsequently, joint of blocks through adsorption will be described withreference to FIG. 34. As illustrated in FIG. 34, if a block 525 a ismade to approach a block 525 h, if there are surfaces to which the block525 a can be jointed on one of the X, Y and Z axes, the correspondingportions are highlighted and connection lines are displayed. Then, inthe case where the position is fixed in a state where the positiondeviates from the axis, the position is automatically corrected, and theblock is adsorbed and jointed to the highlighted surfaces.

A case where the block in the previous step is utilized in a new stepwill be described next with reference to FIG. 35. If “new step”displayed on the creation screen 54 in FIG. 32 is tapped, as indicatedin the creation screen 54 in FIG. 35, a second step 541 is added. Here,the block 542 which is created in a first step can be brought in a workregion in the second step 541 by the block 542 being dragged anddropped.

Note that, as illustrated in FIG. 36, in the case where a plurality ofblocks (542 a to 542 c) in the previous step is brought, display of “xnumber” is added in an assembly step (the previous step) of the blocks.

A preview mode will be described next with reference to FIG. 37. Asillustrated in FIG. 37, if a preview button 561 is tapped, the creationscreen 56 enters a preview mode, a traveling control and a progress barare displayed, the assembled blocks move to an animation start position,and temporary order of jointing animation based on the order in whichthe blocks are assembled is displayed. Further, the joint surfaces arehighlighted, and lines connecting the joint surfaces are displayed.

A method for changing assembly order in the preview mode will bedescribed next with reference to FIG. 38 and FIG. 39. As illustrated ina left portion of FIG. 38, order in jointing (assembly) animation isfirst temporarily determined on the basis of assembly history throughuser operation upon an assembly mode. For example, in the case where ablock 571 b is jointed to a block 571 a, and, then, a block 571 c isjointed and, then, a block 571 d is jointed, order of jointing isprovided in this order.

In the case where such temporary order is changed, as illustrated in aright portion of FIG. 38, if the cursor is hovered over the block,selection frames 572 (572 a to 572 d) are displayed at all the blocks,and “assembly order can be changed by clicking” is displayed.

Then, as illustrated in a left portion of FIG. 39, for example, if theblock 571 a is clicked, the selection frame of the block disappears, and“select a block to be assembled next” is displayed. As illustrated inFIG. 39, in the case where there is a plurality of assemblydestinations, order is not fixed until the counterpart is selected.Then, if the user clicks, for example, the block 571 d as illustrated ina right portion of FIG. 39, first assembly is fixed. Note that, if aportion other than blocks is selected during setting of order, selectionof order is cancelled, and the order returns to default order.

Another method for changing the assembly order in the preview mode willbe described next with reference to FIG. 40. As illustrated in a leftportion of FIG. 40, in the case where there is one assembly destinationof the block 571 c which is clicked first, as illustrated in a centralportion of FIG. 40, the selection frame of the block 571 a which becomesthe assembly counterpart disappears, and first assembly is fixed. Then,as illustrated in a right portion of FIG. 40, if the block 571 d isfixed as second assembly, because, in this example, the third assemblydestination (that is, the block 571 b) is naturally fixed, all theselection frames disappear.

A method for changing an animation start point in the preview mode willbe described next with reference to FIG. 41. In the preview mode, it ispossible to change the animation start point by dragging a block.

For example, as illustrated in a left portion of FIG. 41, in a case ofmovement only on the same axis (in an example illustrated in FIG. 41, onthe Y axis), only a movement distance of animation is changed, andmigration time is not changed.

Meanwhile, in a case of movement on two or more axes an exampleillustrated in FIG. 41, on the Y axis and the X axis) as illustrated ina right portion of FIG. 41, the movement becomes two-staged movement viaa default animation start point. Such two-staged movement will bedescribed with reference to FIG. 42.

As illustrated in a left portion and a central portion of FIG. 42, forexample, animation becomes animation of two-staged movement in which ablock 571 c moves on the X axis and passes through a default startpoint, and as illustrated in a right portion of FIG. 42, moves on the Yaxis and is jointed to a block 571 a. Migration time and easing of suchtwo-staged movement may be set such that animation is made slow beforeand after the default start point in addition to a migration start pointand an end point (upon jointing) as illustrated in, for example, FIG.43.

6. Conclusion

As described above, in the information processing system according tothe embodiment of the present disclosure, it is possible to improveuser-friendliness of a description screen for assembly of parts increation of a robot.

The preferred embodiment(s) of the present disclosure has/have beendescribed above with reference to the accompanying drawings, whilst thepresent disclosure is not limited to the above examples. A personskilled in the art may find various alterations and modifications withinthe scope of the appended claims, and it should be understood that theywill naturally come under the technical scope of the present disclosure.

For example, it is also possible to create a computer program forcausing hardware such as a CPU, a ROM and a RAM incorporated in to theabove-described client terminal 1 or server 2 to fulfill functions ofthe client terminal 1 or the server 2. Further, a computer-readablestorage medium which stores the computer program is also provided.

Further, the effects described in this specification are merelyillustrative or exemplified effects, and are not limitative. That is,with or in the place of the above effects, the technology according tothe present disclosure may achieve other effects that are clear to thoseskilled in the art from the description of this specification.

Additionally, the present technology may also be configured as below.

(1)

An information processing apparatus including a display control unitconfigured to:

separately display a plurality of parts for creation of a robot,

display a line connecting joint surfaces of the respective parts, and

display animation in which the respective parts are jointed inaccordance with the line connecting the joint surfaces in assemblyorder.

(2)

The information processing apparatus according to (1),

in which the control unit performs control such that the joint surfacesare highlighted.

(3)

The information processing apparatus according to (1) or (2),

in which the control unit performs control to additionally display aprogress bar which displays an animation time position in an assemblystep.

(4)

The information processing apparatus according to (3),

in which a mark indicating a joint time position in the assembly step isdisplayed in the progress bar.

(5)

The information processing apparatus according to any one of (1) to (4),

in which the control unit performs control such that speed of animationin which the parts are jointed is made slow at times of start and end ofmovement.

(6)

The information processing apparatus according to any one of (1) to (5),

in which the control unit generates assembly description information forcreation of a robot in accordance with a learning course.

(7)

The information processing apparatus according to (6),

in which the learning course includes a plurality of stages, and thestage includes a plurality of missions.

(8)

The information processing apparatus according to (7),

in which the learning course, the stages and the missions change inaccordance with a learning level of a user.

(9)

An information processing method including performing display control bya processor to:

separately display a plurality of parts for creation of a robot,

display a line connecting joint surfaces of the respective parts, and

display animation for jointing the respective parts in accordance withthe line connecting the joint surfaces in assembly order.

(10)

A program for causing a computer to function as a display control unitconfigured to:

separately display a plurality of parts for creation of a robot,

display a line connecting joint surfaces of the respective parts, and

display animation for jointing the respective parts in accordance withthe line connecting the joint surfaces in assembly order.

REFERENCE SIGNS LIST

-   1 client terminal-   2 server-   3 network-   5 robot-   10 control unit-   11 communication unit-   12 operation input unit-   13 camera-   14 display unit-   15 storage unit-   20 control unit-   21 communication unit-   22 storage unit-   30 menu screen-   31 search screen-   32 condition selection screen-   33 search result screen-   34 detailed information display screen-   35 learning course selection screen-   38 mission screen-   39 medal collection screen-   40 free creation screen-   41 program creation screen-   42 collection screen-   43 start screen-   45 assembly description screen-   48 a to 48 c animation image-   48 d image-   50 a, 50 b assembly description screen-   52 creation screen-   54 creation screen-   56 creation screen-   301 robot recipe-   302 learning course-   303 free creation-   304 collection-   311 robot recipe data-   312 new creation display-   411 display screen-   412 work region-   413 program transfer button-   451 drawing region-   452 a to 452 d block-   453 to 455 line-   456 animation progress bar-   458 caption region-   460 scaling control bar-   461 direction button-   465 drawing region

1. An information processing apparatus comprising a control unitconfigured to perform display control to: separately display a pluralityof parts for creation of a robot, display a line connecting jointsurfaces of the respective parts, and display animation in which therespective parts are jointed in accordance with the line connecting thejoint surfaces in assembly order.
 2. The information processingapparatus according to claim 1, wherein the control unit performscontrol such that the joint surfaces are highlighted.
 3. The informationprocessing apparatus according to claim 1, wherein the control unitperforms control to additionally display a progress bar which displaysan animation time position in an assembly step.
 4. The informationprocessing apparatus according to claim 3, wherein a mark indicating ajoint time position in the assembly step is displayed in the progressbar.
 5. The information processing apparatus according to claim 1,wherein the control unit performs control such that speed of animationin which the parts are jointed is made slow at times of start and end ofmovement.
 6. The information processing apparatus according to claim 1,wherein the control unit generates assembly description information forcreation of a robot in accordance with a learning course.
 7. Theinformation processing apparatus according to claim 6, wherein thelearning course includes a plurality of stages, and the stage includes aplurality of missions.
 8. The information processing apparatus accordingto claim 7, wherein the learning course, the stages and the missionschange in accordance with a learning level of a user.
 9. An informationprocessing method comprising performing display control by a processorto: separately display a plurality of parts for creation of a robot,display a line connecting joint surfaces of the respective parts, anddisplay animation for jointing the respective parts in accordance withthe line connecting the joint surfaces in assembly order.
 10. A programfor causing a computer to function as a display control unit configuredto: separately display a plurality of parts for creation of a robot,display a line connecting joint surfaces of the respective parts, anddisplay animation for jointing the respective parts in accordance withthe line connecting the joint surfaces in assembly order.